3622
5725
Przypadkowo wysłałem niewłaściwe pliki do Git, ale jeszcze nie wysłałem zatwierdzenia do serwera.
Jak mogę cofnąć te zatwierdzenia z lokalnego repozytorium? 
1
2
3
Kolejny
Cofnij zatwierdzenie i ponów
$ git commit -m "Coś strasznie błędnego" # (0: Twój wypadek)
$ git reset HEAD ~ # (1)
<< w razie potrzeby edytuj pliki >> # (2)
$ git add. # (3)
$ git commit -c ORIG_HEAD # (4)
To polecenie jest odpowiedzialne za cofnięcie. Cofnie twoje ostatnie zatwierdzenie, pozostawiając twoje drzewo robocze (stan twoich plików na dysku) nietkniętym. Będziesz musiał dodać je ponownie, zanim będziesz mógł je ponownie zatwierdzić).
Wprowadź poprawki w plikach drzewa roboczego.
git dodaj wszystko, co chcesz zawrzeć w nowym zatwierdzeniu.
Zatwierdź zmiany, ponownie używając starego komunikatu o zatwierdzeniu. reset skopiował starą głowę do .git / ORIG_HEAD; zatwierdzenie z -c ORIG_HEAD otworzy edytor, który początkowo zawiera komunikat dziennika ze starego zatwierdzenia i umożliwia jego edycję. Jeśli nie musisz edytować wiadomości, możesz użyć opcji -C.
Alternatywnie, aby edytować poprzednie zatwierdzenie (lub tylko jego komunikat dotyczący zatwierdzenia), polecenie commit --amend doda zmiany w ramach bieżącego indeksu do poprzedniego zatwierdzenia.
Aby usunąć (a nie cofnąć) zatwierdzenie, które zostało przesłane na serwer, konieczne jest przepisanie historii za pomocą git push origin master --force.
Dalsze czytanie
Jak mogę przenieść HEAD z powrotem do poprzedniej lokalizacji? (Odłączona głowa) & Cofnij zatwierdzenia
Powyższa odpowiedź pokaże ci git reflog, którego możesz użyć do określenia SHA-1 dla zatwierdzenia, do którego chcesz powrócić. Gdy już masz tę wartość, użyj sekwencji poleceń, jak wyjaśniono powyżej.
HEAD ~ jest tym samym, co HEAD ~ 1. Artykuł Co to jest HEAD w git? jest pomocny, jeśli chcesz cofnąć zatwierdzenie wielu zatwierdzeń.
|
Cofnięcie zatwierdzenia jest trochę przerażające, jeśli nie wiesz, jak to działa. Ale w rzeczywistości jest to niezwykle łatwe, jeśli rozumiesz. Pokażę ci 4 różne sposoby cofnięcia zatwierdzenia.
opcja 1: reset git --hard
Powiedzmy, że masz to, gdzie C to HEAD, a (F) to stan twoich plików.
(FA)
ABC
↑
mistrz
Chcesz nuke commit C i nigdy więcej go nie zobaczyć i stracić wszystkie zmiany w lokalnie zmodyfikowanych plikach. Robisz to:
reset git - hard HEAD ~ 1
Wynik to:
(FA)
A-B
↑
mistrz
Teraz B to GŁOWA. Ponieważ użyłeś --hard, twoje pliki są resetowane do stanu po zatwierdzeniu B.
opcja 2: reset git
Ach, ale przypuśćmy, że zatwierdzenie C nie było katastrofą, tylko trochę pomijane. Chcesz cofnąć zatwierdzenie, ale zachowaj zmiany przez krótką edycję, zanim wykonasz lepsze zatwierdzenie. Zaczynając od tego miejsca, z C jako GŁOWĄ:
(FA)
ABC
↑
mistrz
Możesz to zrobić, pomijając - twarde:
git reset HEAD ~ 1
W tym przypadku wynikiem jest:
(FA)
ABC
↑
mistrz
W obu przypadkach HEAD jest tylko wskaźnikiem do ostatniego zatwierdzenia. Kiedy wykonujesz reset git HEAD ~ 1, mówisz Gitowi, aby przesunął wskaźnik HEAD wstecz o jedno zatwierdzenie. Ale (chyba że użyjesz --hard) pozostawiasz swoje pliki bez zmian. Więc teraz status git pokazuje zmiany, które sprawdziłeś w C. Nic nie straciłeś!
opcja 3: git reset --soft
Aby uzyskać najlżejszy dotyk, możesz nawet cofnąć zatwierdzenie, ale zostawić swoje pliki i indeks:
reset git - soft HEAD ~ 1
To nie tylko pozostawia pliki w spokoju, ale nawet pozostawia sam indeks. Kiedy zrobisz status git, zobaczysz, że w indeksie znajdują się te same pliki, co poprzednio. W rzeczywistości, zaraz po tym poleceniu, mógłbyś wykonać git commit i powtórzyłbyś ten sam commit, który właśnie miałeś.
opcja 4: wykonałeś reset git --hard i musisz odzyskać ten kod
Jeszcze jedno: przypuśćmy, że zniszczysz zatwierdzenie, jak w pierwszym przykładzie, ale potem odkryjesz, że mimo wszystko go potrzebujesz? Trudno, prawda?
Nie, wciąż jest sposób, aby to odzyskać. Wpisz git reflog, a zobaczysz listę (częściowych) zatwierdzeń shas (czyli skrótów), w których się poruszałeś. Znajdź zniszczony zatwierdzenie i wykonaj następujące czynności:
git checkout -b someNewBranchName shaYouDestroyed
Wskrzesiłeś teraz to zobowiązanie. Commity nie są tak naprawdę niszczone w Git przez około 90 dni, więc zwykle możesz wrócić i uratować ten, którego nie chciałeś się pozbyć.
|
Istnieją dwa sposoby "cofnięcia" ostatniego zatwierdzenia, w zależności od tego, czy dokonałeś już publicznego zatwierdzenia (wypchnięto go do zdalnego repozytorium):
Jak cofnąć lokalne zatwierdzenie
Powiedzmy, że zobowiązałem się lokalnie, ale teraz chcę usunąć to zatwierdzenie.
git log
zatwierdzenie 101: złe zatwierdzenie # Ostatnie zatwierdzenie. Nazywa się to „GŁOWA”.
zatwierdzenie 100: dobre zatwierdzenie # Drugie od ostatniego zatwierdzenia. To jest ten, którego chcemy.
Aby przywrócić wszystko do stanu sprzed ostatniego zatwierdzenia, musimy zresetować do zatwierdzenia przed HEAD:
git reset --soft HEAD ^ # Użyj --soft, jeśli chcesz zachować zmiany
git reset --hard HEAD ^ # Użyj --hard, jeśli nie zależy ci na zachowaniu wprowadzonych zmian
Teraz dziennik git pokaże, że nasze ostatnie zatwierdzenie zostało usunięte.
Jak cofnąć publiczne zobowiązanie
Jeśli już upubliczniłeś swoje zatwierdzenia, będziesz chciał utworzyć nowy commit, który „cofnie” zmiany, które wprowadziłeś w poprzednim zatwierdzeniu (bieżącym HEAD).
git przywróć HEAD
Twoje zmiany zostaną teraz cofniętei gotowe, abyś się zaangażował:
git commit -m 'przywracanie pliku, który usunąłem przez przypadek'
git log
commit 102: przywracanie pliku, który usunąłem przez przypadek
commit 101: usuwanie pliku, którego nie potrzebujemy
zatwierdzenie 100: dodanie pliku, którego potrzebujemy
Aby uzyskać więcej informacji, zobacz Podstawy Git - Cofanie rzeczy.
|
Dodaj / usuń pliki, aby uzyskać pożądany efekt:
git rm classdir
git add sourcedir
Następnie zmień zatwierdzenie:
git commit --amend
Poprzednie, błędne zatwierdzenie zostanie zmienione, aby odzwierciedlić nowy stan indeksu - innymi słowy, będzie tak, jakbyś nigdy nie popełnił błędu.
Pamiętaj, że powinieneś to zrobić tylko wtedy, gdy jeszcze nie przepchnąłeś. Jeśli nacisnąłeś, będziesz musiał normalnie zatwierdzić poprawkę.
|
git rm yourfiles / *. class
git commit -a -m "usunęła wszystkie pliki klas w folderze 'twoje pliki'"
lub
reset git - hard HEAD ~ 1
Ostrzeżenie: powyższe polecenie trwale usunie modyfikacje plików .java (i innych plików), które chciałeś zatwierdzić.
Twardy reset do HEAD-1 ustawi twoją kopię roboczą na stan zatwierdzenia przed błędnym zatwierdzeniem.
|
Aby zmienić ostatnie zatwierdzenie
Zastąp pliki w indeksie:
git rm --cached * .class
git add * .java
Następnie, jeśli jest to gałąź prywatna, zmień zatwierdzenie:
git commit --amend
Lub, jeśli jest to gałąź współdzielona, ​​wykonaj nowe zatwierdzenie:
git commit -m 'Zamień pliki .class na pliki .java'
(Aby zmienić poprzednie zatwierdzenie, użyj niesamowitej interaktywnej bazy danych).
ProTip ™: Dodaj * .class do gitignore, aby zatrzymać to ponownie.
Aby cofnąć zatwierdzenie
Zmiana zatwierdzenia jest idealnym rozwiązaniem, jeśli musisz zmienić ostatnie zatwierdzenie, ale resetuje się bardziej ogólne rozwiązanie.
Możesz zresetować Git do dowolnego zatwierdzenia za pomocą:
git reset @ ~ N
Gdzie N to liczba zatwierdzeń przed HEAD, a @ ~ resetuje do poprzedniego zatwierdzenia.
Więc zamiast zmieniać zatwierdzenie, możesz użyć:
git reset @ ~
git add * .java
git commit -m "Dodaj pliki .java"
Sprawdź resetowanie pomocy git, w szczególności sekcje dotyczące --soft --mixed i --hard, aby lepiej zrozumieć, co to robi.
Reflog
Jeśli się pomylisz, zawsze możesz użyć refloga, aby znaleźć porzucone zatwierdzenia:
$ git reset @ ~
$ git reflog
c4f708b HEAD @ {0}: reset: przejście do @ ~
2c52489 HEAD @ {1}: commit: dodano kilka plików .class
$ git reset 2c52489
... i jesteś z powrotem tam, gdzie zacząłeś
|
Użyj git revert .
Aby uzyskać identyfikator zatwierdzenia, po prostu użyj git log.
|
Jeśli planujesz całkowicie cofnąć lokalne zatwierdzenie, cokolwiek zmieniłeś w zatwierdzeniu i jeśli nie martwisz się o to, po prostu wykonaj następujące polecenie.
reset git - hard HEAD ^ 1
(To polecenie zignoruje całe zatwierdzenie, a zmiany zostaną całkowicie utracone z lokalnego drzewa roboczego). Jeśli chcesz cofnąć zatwierdzenie, ale chcesz wprowadzić zmiany w obszarze przejściowym (przed zatwierdzeniem, tak jak po git add), wykonaj następujące polecenie.
reset git - soft HEAD ^ 1
Teraz zatwierdzone pliki trafiają do obszaru przemieszczania. Załóżmy, że chcesz upstage pliki, ponieważ musisz edytować niewłaściwą zawartość, wykonaj następujące polecenie
git reset HEAD
Teraz zatwierdzone pliki mają pochodzić z obszaru pomostowego do obszaru niestabilizowanego. Teraz pliki są gotowe do edycji, więc cokolwiek zmienisz, chcesz je edytować, dodać i zrobić świeże / nowe zatwierdzenie.
Więcej (link uszkodzony) (wersja zarchiwizowana)
|
Jeśli masz zainstalowane Git Extras, możesz uruchomić polecenie git undo, aby cofnąć ostatnie zatwierdzenie. git undo 3 cofnie ostatnie trzy zatwierdzenia.
|
Chciałem cofnąć ostatnie pięć zatwierdzeń w naszym wspólnym repozytorium. Wyszukałem identyfikator wersji, do którego chciałem się cofnąć. Następnie wpisałem co następuje.
zachęta> reset git --hard 5a7404742c85
HEAD jest teraz na 5a74047 Dodano jeszcze jedną stronę do katalogu
prompt> git push origin master --force
Razem 0 (delta 0), ponownie wykorzystane 0 (delta 0)
remote: bb / acl: neoneye jest dozwolone. akceptowana ładowność.
Na git@bitbucket.org: thecompany / prometheus.git
+ 09a6480 ... 5a74047 master -> master (wymuszona aktualizacja)
monit>
|
Wolę używać git rebase -i do tego zadania, ponieważ pojawia się ładna lista, na której mogę wybrać zatwierdzenia, których mam się pozbyć. To może nie być tak bezpośrednie, jak niektóre inne odpowiedzi tutaj, ale po prostu wydaje się właściwe.
Wybierz, ile zatwierdzeń chcesz wyświetlić, a następnie wywołaj w ten sposób (aby zarejestrować ostatnie trzy)
git rebase -i HEAD ~ 3
Przykładowa lista
wybierz aa28ba7 Sprawdzenie stanu zdrowia dla portu RtmpSrv
wybierz opcję wersji c26c541 RtmpSrv
pick 58d6909 Lepsza obsługa dekodowania adresów URL
Następnie Git usunie zatwierdzenia dla każdej usuwanej linii.
|
Jak naprawić poprzednie lokalne zatwierdzenie
Użyj git-gui (lub podobnego), aby wykonać polecenie git --amend. Z GUI możesz dodawać lub usuwać pojedyncze pliki z zatwierdzenia. Możesz także zmodyfikować komunikat o zatwierdzeniu.
Jak cofnąć poprzednie lokalne zatwierdzenie
Po prostu zresetuj swój oddział do poprzedniej lokalizacji (na przykład używając gitk lub git rebase). Następnie ponownie zastosuj zmiany z zapisanej kopii. Po wyrzuceniu elementów bezużytecznych w repozytorium lokalnym będzie to wyglądać tak, jakby niechciane zatwierdzenie nigdy się nie wydarzyło. Aby zrobić to wszystko za pomocą jednego polecenia, użyj git reset HEAD ~ 1.
Słowoostrzeżenia: Nieostrożne użycie resetowania git jest dobrym sposobem na wprowadzenie kopii roboczej w zagmatwany stan. Zalecam, aby nowicjusze Git unikali tego, jeśli mogą.
Jak cofnąć publiczne zobowiązanie
Wykonaj odwrotny wybór wiśni (git-revert), aby cofnąć zmiany.
Jeśli nie wprowadziłeś jeszcze innych zmian do swojej gałęzi, możesz po prostu zrobić ...
git revert --no-edit HEAD
Następnie wypchnij zaktualizowaną gałąź do udostępnionego repozytorium.
Historia zmian pokaże oba zatwierdzenia osobno.
Zaawansowane: Korekta oddziału prywatnego w repozytorium publicznym
Może to być niebezpieczne - upewnij się, że masz lokalną kopię oddziału do ponownego przepchnięcia.
Uwaga: nie chcesz tego robić, jeśli ktoś inny może pracować w oddziale.
git push --delete (nazwa_gałęzi) ## usuń publiczną wersję gałęzi
Oczyść swój oddział lokalnie, a następnie przepchnij ...
git push origin (nazwa_gałęzi)
W normalnym przypadku prawdopodobnie nie musisz się martwić, że historia zatwierdzeń gałęzi prywatnej jest nieskazitelna. Po prostu wypchnij kolejne zatwierdzenie (patrz „Jak cofnąć publiczne zatwierdzenie” powyżej), a później wykonaj scalanie typu „squash-merge”, aby ukryć historię.
|
Jeśli chcesz cofnąć to na stałe i sklonowałeś jakieś repozytorium
Identyfikator zatwierdzenia można zobaczyć przez
git log
Wtedy możesz zrobić -
git reset --hard 
git push origin  -f
|
Jeśli popełniłeś śmieci, ale nie popchnąłeś,
reset git - soft HEAD ~ 1
HEAD ~ 1 to skrót od zatwierdzenia przed nagłówkiem. Alternatywnie możesz odwołać się do SHA-1 skrótu, jeśli chcesz zresetować. Opcja --soft usunie zatwierdzenie, ale pozostawi wszystkie zmienione pliki jako „Zmiany do zatwierdzenia”, jak określiłby to status git.
Jeśli chcesz pozbyć się zmian w śledzonych plikach w drzewie roboczym od czasu zatwierdzenia przed head, użyj zamiast tego "--hard".
LUB
Jeśli już pchnąłeś i ktoś pociągnął, co jest zwykle moim przypadkiem, nie możesz użyć resetowania git. Możesz jednak przywrócić git,
git przywróć HEAD
Spowoduje to utworzenie nowego zatwierdzenia, które odwraca wszystko, co zostało wprowadzone przez przypadkowe zatwierdzenie.
|
Na SourceTree (GUI dla GitHub) możesz kliknąć zatwierdzenie prawym przyciskiem myszy i wykonać „Reverse Commit”. Powinno to cofnąć zmiany.
Na terminalu:
Możesz alternatywnie użyć:
git revert
Lub:
git reset --soft HEAD ^ # Użyj --soft, jeśli chcesz zachować zmiany.
git reset --hard HEAD ^ # Użyj --hard, jeśli nie zależy ci na zachowaniu zmian.
|
Jedno polecenie:
reset git - miękkie 'HEAD ^'
Cofnięcie ostatniego lokalnego zatwierdzenia działa świetnie!
|
Po prostu zresetuj go, wykonując poniższe polecenie za pomocą git:
reset git - soft HEAD ~ 1
Wyjaśnij: co robi reset git, w zasadzie jest resetowany do dowolnego zatwierdzenia, do którego chcesz wrócić, a następnie, jeśli połączysz go z kluczem --soft, wróci, ale zachowaj zmiany w pliku (ach), więc wracasz do etapu, do którego plik został właśnie dodany, HEAD jest nagłówkiem gałęzi i jeśli połączysz się z ~ 1 (w tym przypadku również użyjesz HEAD ^), cofnie tylko jedno zatwierdzenie, którego chcesz. ..
Kroki na poniższym obrazku tworzę bardziej szczegółowo dla Ciebie, w tym wszystkie kroki, które mogą się zdarzyć w rzeczywistych sytuacjach i zatwierdzanie kodu:
|
Jak cofnąć ostatnie zatwierdzenie Git?
Aby przywrócić wszystko do stanu sprzed ostatniego zatwierdzenia, musimy zresetować do zatwierdzenia przed HEAD.
Jeśli nie chcesz zachować wprowadzonych zmian:
reset git - hard HEAD ^
Jeśli chcesz zachować zmiany:
reset git - soft HEAD ^
Teraz sprawdź swój dziennik git. Pokaże, że nasze ostatnie zatwierdzenie zostało usunięte.
|
„Zresetuj drzewo robocze do ostatniego zatwierdzenia”
reset git - hard HEAD ^
„Wyczyść nieznane pliki z drzewa roboczego”
git clean
zobacz - Skrócona instrukcja Git
UWAGA: To polecenie usunie poprzednie zatwierdzenie, więc używaj go ostrożnie! git reset --hard jest bezpieczniejszy.
|
Użyj reflog, aby znaleźć prawidłowy stan
git reflog
REFLOG PRZED RESETEM
Wybierz poprawny reflog (w moim przypadku f3cb6e2) i wpisz
reset git --hard f3cb6e2
Następnie repozytorium HEAD zostanie zresetowane do tego HEADid
LOG PO RESETOWANIU
Wreszcie reflog wygląda jak na poniższym obrazku
REFLOG FINAL
|
Pierwszy bieg:
git reflog
Pokaże Ci wszystkie możliwe akcje, które wykonałeś w swoim repozytorium, na przykład zatwierdzanie, scalanie, ściąganie itp.
Następnie wykonaj:
git reset --hard ActionIdFromRefLog
|
Cofnij ostatnie zatwierdzenie:
git reset --soft HEAD ^ lub git reset --soft HEAD ~
Spowoduje to cofnięcie ostatniego zatwierdzenia.
Tutaj - soft oznacza resetowanie do fazy przejściowej.
HEAD ~ lub HEAD ^ oznacza przejście do zatwierdzenia przed HEAD.
Zastąp ostatnie zatwierdzenie nowym zatwierdzeniem:
git commit --amend -m "wiadomość"
Zastąpi ostatnie zatwierdzenie nowym zatwierdzeniem.
|
Inny sposób:
Sprawdź gałąź, którą chcesz przywrócić, a następnie zresetuj lokalną kopię roboczą z powrotem do zatwierdzenia, które chcesz, aby było najnowsze na zdalnym serwerze (wszystko po tym przejdzie do widzenia). Aby to zrobić, w SourceTree kliknąłem prawym przyciskiem myszy i wybrałem „Zresetuj BRANCHNAME do tego zatwierdzenia”.
Następnie przejdź do lokalnego katalogu repozytorium i uruchom to polecenie:
git -c diff.mnemonicprefix = false -c core.quotepath = false push -v -f --tags REPOSITORY_NAMEBRANCHNAME: BRANCHNAME
Spowoduje to wymazanie wszystkich zatwierdzeń po bieżącym w lokalnym repozytorium, ale tylko dla tej jednej gałęzi.
|
Wpisz git log i znajdź ostatni kod skrótu zatwierdzenia, a następnie wprowadź:
git reset 
|
W moim przypadku przypadkowo popełniłem pliki, których nie chciałem. Zrobiłem więc co następuje i zadziałało:
reset git - soft HEAD ^
git rm --cached [pliki, których nie potrzebujesz]
git add [potrzebne pliki]
git commit -c ORIG_HEAD
Sprawdź wyniki za pomocą gitk lub git log --stat
|
Proste, uruchom to w linii poleceń:
git reset --soft HEAD ~
|
Istnieją dwa główne scenariusze
Nie przesunąłeś jeszcze zatwierdzenia
Jeśli problemem były dodatkowe pliki, które zatwierdziłeś (a nie chcesz tych w repozytorium), możesz je usunąć za pomocą git rm, a następnie zatwierdzić za pomocą --amend
git rm 
Możesz także usunąć całe katalogi za pomocą -r lub nawet połączyć z innymi poleceniami Bash
git rm -r 
git rm $ (znajdź -nazwa '* .class')
Po usunięciu plików możesz zatwierdzić za pomocą opcji --amend
git commit --amend -C HEAD # opcja -C polega na użyciu tego samego komunikatu o zatwierdzeniu
Spowoduje to przepisanie ostatniego lokalnego zatwierdzenia usuwającego dodatkowe pliki, więc te pliki nigdy nie zostaną wysłane w trybie push, a także zostaną usunięte z lokalnego repozytorium .git przez GC.
Już nacisnąłeś zatwierdzenie
Możesz zastosować to samo rozwiązanie z innego scenariusza, a następnie wykonać git push z opcją -f, ale nie jest to zalecane, ponieważ nadpisuje zdalną historię z rozbieżną zmianą (może zepsuć repozytorium).
Zamiast tego musisz wykonać zatwierdzenie bez --amend (pamiętaj o -amend`: Ta opcja przepisuje historię ostatniego zatwierdzenia).
|
Dla lokalnego zatwierdzenia
reset git - soft HEAD ~ 1
lub jeśli nie pamiętasz dokładnie, w jakim jest zatwierdzeniu, możesz użyć
git rm --cached 
Za wymuszone zatwierdzenie
Właściwym sposobem usuwania plików z historii repozytorium jest użycie git filter-branch. To jest,
git filter-branch --index-filter 'git rm --cached ' HEAD
Ale zalecam ostrożne używanie tego polecenia. Przeczytaj więcej na stronie podręcznika git-filter-branch (1).
|
Aby zresetować do poprzedniej wersji, trwale usuwając wszystkie niezatwierdzone zmiany:
reset git - hard HEAD ~ 1
|
CZEGO KORZYSTAĆ, resetować - soft lub resetować - hard?
Po prostu dodaję dwa centy za odpowiedź @ Kyralessa:
Jeśli nie masz pewności, do czego użyć, wybierz - miękkie (użyłem tej konwencji, aby to zapamiętać - miękkie dla bezpieczeństwa).
Czemu ?
Jeśli wybierzesz - przez pomyłkę UTRACISZ swoje zmiany, jak nie było wcześniej.
Jeśli wybierzesz opcję - soft przez pomyłkę, możesz osiągnąć te same wyniki, co - hard, stosując dodatkowe polecenia
git reset HEAD file.html
git checkout - plik.html
Pełny przykład
echo "jakieś zmiany ..."> plik.html
git add file.html
git commit -m "złe zatwierdzenie"
# Muszę zresetować
git reset --hard HEAD ~ 1 (anuluj zmiany)
# LUB
git reset --soft HEAD ~ 1 # Powrót do stagingu
git reset HEAD file.html # powrót do katalogu roboczego
git checkout - file.html # anuluj zmiany
Kredyty trafiają do @Kyralessa.
|
1
2
3
Kolejny
Bardzo aktywne pytanie. Zdobądź 10 punktów reputacji, aby odpowiedzieć na to pytanie. Wymóg dotyczący reputacji pomaga chronić to pytanie przed spamem i brakiem odpowiedzi.
Nie szukasz odpowiedzi? Przeglądaj inne pytania oznaczone tagiem git kontrola wersji git-commit cofnij lub zadaj własne pytanie.